// 用法如下:
function fn1(x) {
  return x + 1;
}
function fn2(x) {
  return x + 2;
}
function fn3(x) {
  return x + 3;
}
function fn4(x) {
  return x + 4;
}

// function compose(...fn) {
//   return (num) => {
//     return fn.reduce((pre, cur) => {
//       return cur(pre)
//     }, num)
//   }
// }

// function compose(...fn) {
//   return function (num) {
//     // num为第一个数字
//     fn.reduce((pre, cur) => {
//       return cur(pre);
//     }, num);
//   };
// }
const a = compose(fn1, fn2, fn3, fn4);

function compose(...fn) {
  console.log(fn);
}

// console.log(a(1)); // 1+4+3+2+1=11
